Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Motivation
dev,dev -> mainPRs are auto-merged, tags and GitHub Releases are created on the exactmaincommit, Windows artifacts are built/uploaded, the crate is published to crates.io, andmainis synced back intodevautomatically.RELEASE_PAT) rather thanGITHUB_TOKENwhere appropriate.Description
Justfileto provide two PowerShell-friendly recipes:bump VERSIONwhich updatespackage.versioninCargo.toml, updatesCargo.lockif tracked, and commits the change, andpublishwhich validates branch/working-tree and opens adev -> mainPR withghthen enables auto-merge (squash); both recipes are Windows PowerShell compatible.ciworkflow (.github/workflows/ci.yml) that runs on PRs and pushes todevandmainand performscargo fmt --check,cargo clippy(deny warnings), andcargo testonubuntu-latest.tag-and-releaseworkflow (.github/workflows/tag-and-release.yml) that triggers on pushes tomain, reads theCargo.tomlversion viapython/tomllib, computesv{version}, creates an annotated tag on the exactmaincommit if missing, pushes the tag usingRELEASE_PAT, and creates a GitHub Release (idempotent checks for existing tag/release); usesactions/checkoutwithfetch-depth: 0and avoids persisted credentials.releaseworkflow (.github/workflows/release.yml) that triggers on tagsv*.*.*, builds onwindows-latest, packages the.exeand a zip bundle (includingREADME.md/LICENSEif present), generates SHA256 files, uploads assets to the GitHub Release viaghauthenticated withRELEASE_PAT, publishes to crates.io viacargo publishusingCARGO_REGISTRY_TOKEN, and then creates/updates amain -> devsync PR and enables auto-merge; all steps include idempotency checks.Testing
cargo +nightly fmt --checkwhich completed successfully on the host.cargo +nightly clippy --all-targets --all-features -- -D warningswhich failed on this non-Windows host due to unresolvedwindows-crate platform artifacts (expected for Windows-native code).cargo +nightly build --features debug-tracingwhich failed on this non-Windows host for the samewindows-crate platform reasons.cargo +nightly test --lockedwhich failed on this non-Windows host for the same platform reasons.Codex Task